package com.example.lib.network;

import java.net.InetAddress;
import java.net.UnknownHostException;

/**
 * 第23天，01到05
 *
 * IP地址:InetAddress
 *      网络中设备的标识
 *      不易记忆，可用主机名
 *      本地回环地址：127.0.0.1   主机名：localhost
 * 端口号
 *      用于标识进程的逻辑地址，不同进程的标识
 *      有效端口：0~65535，其中0~1024系统使用或保留端口。
 *  传输协议
 *      通讯规则
 *      常见的协议：TCP，UDP
 *
 *
 *  UDP:
 *      1.将数据及源和目的封装成数据包中，不需要建立连接。
 *      2.每个数据报的大小在限制64k内。
 *      3.因无连接，是不可靠协议。
 *      4.不需要建立连接，速度快。
 *  TCP:
 *      1.建立连接，形成传输数据的通道。
 *      2.在连接中进行大数据量传输。
 *      3.通过三次握手完成连接，是可靠协议。
 *      4.必须建立连接，效率会稍低。
 *
 */
public class network_23_01_05 {
    public static void main(String[] args) throws UnknownHostException {
//        InetAddress i=InetAddress.getLocalHost();
//        System.out.println(i.toString());
//        System.out.println("address:"+i.getHostAddress());
//        System.out.println("name:"+i.getHostName());

//        InetAddress ia = InetAddress.getByName("192.168.0.121");
//        System.out.println("address:"+ia.getHostAddress());
//        System.out.println("name:"+ia.getHostName());

//        InetAddress ia = InetAddress.getByName("www.baidu.com");
//        System.out.println("address:"+ia.getHostAddress());
//        System.out.println("name:"+ia.getHostName());

        InetAddress[] iArray = InetAddress.getAllByName("www.baidu.com");
        for (InetAddress i:iArray) {
            System.out.println("address:"+i.getHostAddress());
            System.out.println("name:"+i.getHostName());
        }
    }
}
